<template>
  <nav
    class="global-header navbar navbar-dark bg-primary justify-content-between mb-4 px-4"
  >
    <a class="navbar-brand" href="#">者也专栏</a>
    <ul v-if="!user.isLogin" class="list-inline mb-0">
      <li class="list-inline-item">
        <a href="#" class="btn btn-outline-light my-2">登录</a>
      </li>
      <li class="list-inline-item">
        <a href="#" class="btn btn-outline-light my-2">注册</a>
      </li>
    </ul>
    <ul v-else class="list-inline mb-0">
      <li class="list-inline-item">
        <dropdown :title="`你好 ${user.name}`">
          <template v-slot:dropdown-detail>
            <dropdown-option>
              <a href="#" class="dropdown-item">新建文章</a>
            </dropdown-option>
            <dropdown-option :disabled="true">
              <a href="#" class="dropdown-item">编辑资料</a>
            </dropdown-option>
            <dropdown-option>
              <a href="#" class="dropdown-item">退出登录</a>
            </dropdown-option>
          </template>
        </dropdown>
      </li>
    </ul>
  </nav>
</template>

<script lang="ts">
import { defineComponent, PropType } from 'vue'
import Dropdown from '@/components/Dropdown.vue'
import DropdownOption from '@/components/DropdownOption.vue'

export interface UserProps {
  isLogin: boolean;
  name?: string;
  id?: number;
}

export default defineComponent({
  name: 'GlobalHeader',
  props: {
    user: {
      type: Object as PropType<UserProps>,
      required: true
    }
  },
  components: {
    Dropdown,
    DropdownOption
  },
  setup () {
    return {}
  }
})
</script>

<style lang="scss">
</style>
